package hcn.cmc.bean.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import hcn.protocol.base.hisPlateform.MsgHeaderRequest;

import javax.xml.bind.annotation.*;
import java.util.Date;
import java.util.List;

@XmlRootElement(name = "BSXml")
@XmlAccessorType(XmlAccessType.FIELD)
public class QueryTreatmentReportResp {
    private MsgHeaderRequest MsgHeader;
    private QueryTreatmentReportResp.MsgBody MsgBody;


    public MsgHeaderRequest getMsgHeader() {
        return MsgHeader;
    }

    public void setMsgHeader(MsgHeaderRequest msgHeader) {
        MsgHeader = msgHeader;
    }

    public QueryTreatmentReportResp.MsgBody getMsgBody() {
        return MsgBody;
    }

    public void setMsgBody(QueryTreatmentReportResp.MsgBody msgBody) {
        MsgBody = msgBody;
    }

    @XmlRootElement(name = "MsgBody")
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class MsgBody{
        private String Status;
        private String Code;
        private String Detail;
        private QueryTreatmentReportResp.MsgBody.Data Data;

        public MsgBody() { }

        public String getStatus() {
            return this.Status;
        }

        public void setStatus(String status) {
            this.Status = status;
        }

        public String getCode() {
            return this.Code;
        }

        public void setCode(String code) {
            this.Code = code;
        }


        public String getDetail() {
            return this.Detail;
        }

        public void setDetail(String detail) {
            this.Detail = detail;
        }

        @XmlElement(name = "Data")
        public QueryTreatmentReportResp.MsgBody.Data getData() {
            return this.Data;
        }

        public void setData(QueryTreatmentReportResp.MsgBody.Data data) {
            this.Data = data;
        }


        @XmlRootElement(name = "Data")
        @XmlAccessorType(XmlAccessType.FIELD)
        public static class Data{

            private long Total;

            @XmlElementWrapper(name = "Reports")
            @XmlElement(name = "Report")
            public List<Report> Reports;

            public long getTotal() {
                return Total;
            }

            public void setTotal(long total) {
                Total = total;
            }

            public List<Report> getReports() {
                return Reports;
            }

            public void setReports(List<Report> reports) {
                Reports = reports;
            }

            @XmlAccessorType(XmlAccessType.FIELD)
            public static class Report{

                private String SourcePatientId;
                private String IdCard;
                private String Name;
                private String Sex;
                private String VisitId;
                private String PatientType;
                private String ClinicId;
                private String HospizationId;
                private String Age;
                private String RequestId;
                private String eportOrganizationName;
                private String ReportOrganization;
                private String ReportId;
                private String TreatmentSummary;
                private String TreatmentRemark;
                @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
                private Date ExecuteDateTime;
                private String ReportDoctorCode;
                private String ReportDoctor;
                @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
                private Date ReportDateTime;
                private String ReviewDoctorCode;
                private String ReviewDoctor;
                @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
                private Date ReviewDateTime;
                private String ReportDepartName;
                private String ReportDepartId;
                private String TreatmentItemCode;
                private String TreatmentItemName;

                public Report() {
                }

                public String getSourcePatientId() {
                    return SourcePatientId;
                }

                public void setSourcePatientId(String sourcePatientId) {
                    SourcePatientId = sourcePatientId;
                }

                public String getIdCard() {
                    return IdCard;
                }

                public void setIdCard(String idCard) {
                    IdCard = idCard;
                }

                public String getName() {
                    return Name;
                }

                public void setName(String name) {
                    Name = name;
                }

                public String getSex() {
                    return Sex;
                }

                public void setSex(String sex) {
                    Sex = sex;
                }

                public String getVisitId() {
                    return VisitId;
                }

                public void setVisitId(String visitId) {
                    VisitId = visitId;
                }

                public String getPatientType() {
                    return PatientType;
                }

                public void setPatientType(String patientType) {
                    PatientType = patientType;
                }

                public String getClinicId() {
                    return ClinicId;
                }

                public void setClinicId(String clinicId) {
                    ClinicId = clinicId;
                }

                public String getHospizationId() {
                    return HospizationId;
                }

                public void setHospizationId(String hospizationId) {
                    HospizationId = hospizationId;
                }

                public String getAge() {
                    return Age;
                }

                public void setAge(String age) {
                    Age = age;
                }

                public String getRequestId() {
                    return RequestId;
                }

                public void setRequestId(String requestId) {
                    RequestId = requestId;
                }

                public String getEportOrganizationName() {
                    return eportOrganizationName;
                }

                public void setEportOrganizationName(String eportOrganizationName) {
                    this.eportOrganizationName = eportOrganizationName;
                }

                public String getReportOrganization() {
                    return ReportOrganization;
                }

                public void setReportOrganization(String reportOrganization) {
                    ReportOrganization = reportOrganization;
                }

                public String getReportId() {
                    return ReportId;
                }

                public void setReportId(String reportId) {
                    ReportId = reportId;
                }

                public String getTreatmentSummary() {
                    return TreatmentSummary;
                }

                public void setTreatmentSummary(String treatmentSummary) {
                    TreatmentSummary = treatmentSummary;
                }

                public String getTreatmentRemark() {
                    return TreatmentRemark;
                }

                public void setTreatmentRemark(String treatmentRemark) {
                    TreatmentRemark = treatmentRemark;
                }

                public Date getExecuteDateTime() {
                    return ExecuteDateTime;
                }

                public void setExecuteDateTime(Date executeDateTime) {
                    ExecuteDateTime = executeDateTime;
                }

                public String getReportDoctorCode() {
                    return ReportDoctorCode;
                }

                public void setReportDoctorCode(String reportDoctorCode) {
                    ReportDoctorCode = reportDoctorCode;
                }

                public String getReportDoctor() {
                    return ReportDoctor;
                }

                public void setReportDoctor(String reportDoctor) {
                    ReportDoctor = reportDoctor;
                }

                public Date getReportDateTime() {
                    return ReportDateTime;
                }

                public void setReportDateTime(Date reportDateTime) {
                    ReportDateTime = reportDateTime;
                }

                public String getReviewDoctorCode() {
                    return ReviewDoctorCode;
                }

                public void setReviewDoctorCode(String reviewDoctorCode) {
                    ReviewDoctorCode = reviewDoctorCode;
                }

                public String getReviewDoctor() {
                    return ReviewDoctor;
                }

                public void setReviewDoctor(String reviewDoctor) {
                    ReviewDoctor = reviewDoctor;
                }

                public Date getReviewDateTime() {
                    return ReviewDateTime;
                }

                public void setReviewDateTime(Date reviewDateTime) {
                    ReviewDateTime = reviewDateTime;
                }

                public String getReportDepartName() {
                    return ReportDepartName;
                }

                public void setReportDepartName(String reportDepartName) {
                    ReportDepartName = reportDepartName;
                }

                public String getReportDepartId() {
                    return ReportDepartId;
                }

                public void setReportDepartId(String reportDepartId) {
                    ReportDepartId = reportDepartId;
                }

                public String getTreatmentItemCode() {
                    return TreatmentItemCode;
                }

                public void setTreatmentItemCode(String treatmentItemCode) {
                    TreatmentItemCode = treatmentItemCode;
                }

                public String getTreatmentItemName() {
                    return TreatmentItemName;
                }

                public void setTreatmentItemName(String treatmentItemName) {
                    TreatmentItemName = treatmentItemName;
                }
            }
        }

    }
}
